java OpenOffice将上传的Word文档转换成Html格式

您所在的位置:网站首页 java doc转html java OpenOffice将上传的Word文档转换成Html格式

java OpenOffice将上传的Word文档转换成Html格式

2022-07-15 16:11| 来源: 网络整理| 查看: 265

提供一篇java OpenOffice将上传的Word文档转换成Html格式 ,有需要的朋友参考一下。

为什么会想起来将上传的word文档转换成html格式呢?设想,如果一个系统需要发布在页面的文章都是来自word文档,一般会执行下面的流程:使用word打开文档,Ctrl A,进入发布文章页面,Ctrl V。看起来也不麻烦,但是,如果文档中包含大量图片呢?尴尬的事是图片都需要重新上传吧?

如果可以将已经编写好的word文档上传到服务器就可以在相应页面进行展示,将会是一件非常惬意的事情,最起码信息发布人员会很开心。程序员可能就不会这么想了,?濉?/p>

将Word转Html的原理是这样的:

1、客户上传Word文档到服务器

2、服务器调用OpenOffice程序打开上传的Word文档

3、OpenOffice将Word文档另存为Html格式

4、Over

至此可见,这要求服务器端安装OpenOffice软件,其实也可以是MS Office,不过OpenOffice的优势是跨平台,你懂的。恩,说明一下,本文的测试基于 MS Win7 Ultimate X64 系统。

下面就是规规矩矩的实现。

1、下载OpenOffice,http://download.openoffice.org/index.html So easy...

2、下载Jodconverter http://www.artofsolving.com/opensource/jodconverter 这是一个开启OpenOffice进行格式转化的第三方jar包。

3、泡杯热茶,等待下载。

4、安装OpenOffice,安装结束后,调用cmd,启动OpenOffice的一项服务:C:Program Files (x86)OpenOffice.org 3program>soffice -headless -accept="socket,port=8100;urp;"

5、打开eclicatch (ConnectException e) {         System.out.println("获取OpenOffice连接失败...");         e.printStackTrace();     }     // 创建转换器     DocumentConverter converter = new OpenOfficeDocumentConverter(con);     // 转换文档问html     converter.convert(docFile, htmlFile);     // 关闭openoffice连接     con.disconnect();     return htmlFile;     }

    /**      * 将word转换成html文件,并且获取html文件代码。      *      * @param docFile      *                需要转换的文档      * @param filepath      *                文档中图片的保存位置      * @return 转换成功的html代码      */     public static String toHtmlString(File docFile, String filepath) {     // 转换word文档     File htmlFile = convert(docFile, filepath);     // 获取html文件流     StringBuffer htmlSb = new StringBuffer();     try {         BufferedReader br = new BufferedReader(new InputStreamReader(             new FileInputStream(htmlFile)));         while (br.ready()) {         htmlSb.append(br.readLine());         }         br.close();         // 删除临时文件         htmlFile.delete();     } catch (FileNotFoundException e) {         e.printStackTrace();     } catch (IOException e) {         e.printStackTrace();     }     // HTML文件字符串     String htmlStr = htmlSb.toString();     // 返回经过清洁的html文本     return clearFormat(htmlStr, filepath);     }

    /**      * 清除一些不需要的html标记      *      * @param htmlStr      *                带有复杂html标记的html语句      * @return 去除了不需要html标记的语句      */     protected static String clearFormat(String htmlStr, String docImgPath) {     // 获取body内容的正则     String bodyReg = ".*?)()",     // ".*?)()", "",             "");     // 删除不需要的属性     htmlStr = htmlStr         .replaceAll(             "]*)(?:lang|LANG|class|CLASS|style|STYLE|size|SIZE|face|FACE|[ovwxpOVWXP]:\w )=(?:'[^']*'|""[^""]*""|[^>] )([^>]*)>",             "");     return htmlStr;     }

}

您可能感兴趣的文章: java OpenOffice将上传的Word文档转换成Html格式 使用jQuery的将桌面应用程序引入浏览器 php读取word\pdf等文档内容保存到网页中 php导出word文件的简单例子 php 导出word文档的简单示例 php生成word最简单的例子 Java 实例 php生成excel或word文档的最简单方法 Java生成 Word文档的并打印解决方案 php生成word文档(读取数据库)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3